package com.software.levelupserver.mappers;

import com.software.levelupserver.entity.SystemTask;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SystemTaskMapper {

    int insertUserSystemTask(@Param("userId") int userId, @Param("systemTaskId") int systemTaskId,
                             @Param("status") int status, @Param("time") String time); //新增用户领取的系统任务
    boolean updateUserSystemTask(@Param("userId") int userId, @Param("systemTask") SystemTask systemTask); //更新领取的系统任务状态

    int deleteUserSystemTask(@Param("userId") int userId, @Param("systemTask") SystemTask systemTask); //删除（取消）领取的任务

    List<SystemTask> selectAllSystemTask(); //查询发布的所有系统任务
    List<SystemTask> selectSystemTasksByUserId(@Param("userId") int userId); //查询用户领取的系统任务

    int countSystemTaskByType(@Param("userId") int userId, @Param("type") int type); //获取用户完成的指定类型的系统任务的数量

    List<SystemTask> selectSystemTasksByType(@Param("type") int type);

    /*后台管理系统的sql操作*/
    int insertSystemTask(SystemTask systemTask); //系统任务新增操作
}
